import { translateByCode } from '@/lib/getTransData.js';
import validator from '../index.js';
import { CertificateVO, AssessmentVO, LevelVO } from '@/lib/form/grade.js';
// 证书管理
export class CertificateVO_Rules extends CertificateVO {
  constructor() {
    super();
    // 证书名称
    this.name = [
      // 证书名称不能为空
      validator.required(translateByCode('rules.certificateName'))
    ];
  }
}

// 考核管理
export class AssessmentVO_Rules extends AssessmentVO {
  constructor() {
    super();
    // 项目名称
    this.assessmentName = [
      // 项目名称不能为空
      validator.required('项目名称不能为空')
      // validator.required(translateByCode('rules.assessmentName'))
    ];
    // 成绩单位不能为空
    this.unit = [
      validator.required('成绩单位不能为空')
      // validator.required(translateByCode('rules.assessmentName'))
    ];
    // 项目类别不能为空
    this.type = [
      {
        required: true,
        message: translateByCode('项目类别不能为空'), // 版本类型不能为空
        // message: translateByCode('rules.editionName'), // 版本类型不能为空
        trigger: 'change'
      }
    ];
  }
}
// 考级管理
export class LevelVO_Rules extends LevelVO {
  constructor() {
    super();
    // 考级名称
    this.levelName = [
      // 考级名称不能为空
      validator.required('考级名称不能为空')
    ];
    // 考级时间
    this.dataList = [
      {
        validator (rule, value, callback) {
          callback(validator.checkData(value, '日期不能为空'));
        },
        trigger: 'change'
      }
    ];
    // 考级地点
    this.examinationPlace = [
      // 考级地点不能为空
      validator.required('考级地点不能为空')
    ];
    // 升级等级
    this.UplevelName = [
      // 升级等级不能为空
      validator.required('升级等级不能为空')
    ];
  }
}
